// 密码加密工具函数
import { md5EncryptSync } from './crypto-wrapper';

/**
 * 使用MD5加密密码
 * @param password 原始密码
 * @returns 加密后的密码字符串
 */
export function encryptPassword(password: string): string {
  try {
    const encryptedPassword = md5EncryptSync(password);
    console.log('密码加密:', { original: password, encrypted: encryptedPassword });
    return encryptedPassword;
  } catch (error) {
    console.error('密码加密失败:', error);
    throw new Error('密码加密失败');
  }
}

/**
 * 验证密码加密是否正常工作
 * @param testPassword 测试密码
 * @returns 是否加密成功
 */
export function testPasswordEncryption(testPassword: string = 'test123'): boolean {
  try {
    const encrypted = encryptPassword(testPassword);
    return typeof encrypted === 'string' && encrypted.length === 32; // MD5结果应该是32位十六进制字符串
  } catch (error) {
    console.error('密码加密测试失败:', error);
    return false;
  }
}

/**
 * 批量加密密码（用于测试）
 * @param passwords 密码数组
 * @returns 加密后的密码数组
 */
export function batchEncryptPasswords(passwords: string[]): string[] {
  return passwords.map(password => encryptPassword(password));
}
